Appearance
Inline XBRL
Inline XBRL (iXBRL) embeds XBRL tags directly into HTML/XHTML documents, creating a single document that is both human-readable (viewable in a browser) and machine-readable (extractable as XBRL data).
The Problem iXBRL Solves
Traditional instance documents are pure XML -- unreadable to humans. Companies had to maintain two versions: a human-readable report AND an XBRL filing. iXBRL eliminates this duplication.
How It Works
- The HTML document replaces the instance document
- XBRL tags are woven into the HTML using the
ix:namespace - Other taxonomy files (schemas, linkbases) remain separate
- An XBRL processor can extract a complete instance document from the iXBRL file
Key iXBRL Elements
Tagging Elements
| Element | Purpose | Example Use |
|---|---|---|
<ix:nonFraction> | Tags numeric data | Revenue, Total Assets |
<ix:nonNumeric> | Tags text/string data | Company name, policy text, dates |
<ix:fraction> | Tags fractional data | Rarely used |
Structural Elements
| Element | Purpose |
|---|---|
<ix:header> | Contains hidden XBRL data (contexts, units, hidden facts) |
<ix:hidden> | Facts in XBRL output but not visible in HTML |
<ix:references> | Schema and linkbase references |
<ix:resources> | Context and unit definitions |
<ix:continuation> | Combines non-contiguous text blocks into a single fact |
<ix:exclude> | Removes subsections from tagged text |
<ix:footnote> | Footnote content |
<ix:relationship> | Links facts to footnotes |
Example
HTML shows: R 5,000,000
iXBRL source:
html
<ix:nonFraction name="ifrs:Revenue"
contextRef="FY2024"
unitRef="ZAR"
decimals="-3"
format="ixt:numdotdecimal"
scale="3">
5,000
</ix:nonFraction>What happens:
- Browser displays:
5,000(the human sees "5,000" in the context of the report, meaning thousands) - XBRL processor extracts:
Revenue = 5000000(scale="3" means multiply by 1,000)
Key Attributes
| Attribute | Purpose | Example |
|---|---|---|
name | Concept from taxonomy | ifrs:Revenue |
contextRef | Reference to context | FY2024 |
unitRef | Reference to unit | ZAR |
format | Transformation rule | ixt:numdotdecimal |
scale | Power of 10 multiplier | 6 = millions |
sign | Negation indicator | - negates the value |
decimals | Accuracy | -3 = nearest thousand |
Transformation Rules Registry
Defines how human-readable values in HTML convert to XBRL data types:
| Category | Examples |
|---|---|
| Numbers | numdotdecimal, numcommadecimal, numdash (dash → zero) |
| Dates | datedaymonthyear, datemonthdayyearen |
| Booleans | booleantrue, booleanfalse |
Currently at version 5.
Advanced Features
- Nested tags -- numeric tags within larger text blocks for multi-level tagging
- Multiple tags for one value -- same figure can have multiple concepts/periods
- Document sets -- multiple iXBRL HTML files generate a single XBRL output
- Continuation -- split one long text fact across non-contiguous HTML sections
Who Requires iXBRL?
- SEC (USA) -- mandatory for all public filings since 2018
- ESMA (EU) -- required for ESEF annual reports
- HMRC (UK) -- corporation tax returns
- CIPC (South Africa) -- annual financial statements (see 20 CIPC Taxonomy Example)